/* jzc 2020-02-03 */
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/stat.h>

int main(int argc, char ** argv) {
    int fd;
    int len;
    char buffer[1024];

    if ((mkfifo("fifo1", 0666) < 0) && errno != EEXIST) { // 创建fifo
        perror("Create FIFO Failed!\n");
        exit(1);
    }

    if ((fd = open("fifo1", O_RDONLY)) < 0) { //以读打开fifo
        perror("Open FIFO Failed!\n");
        exit(1);
    }

    while((len = read(fd, buffer, 1024)) > 0) { //读取fifo中的值
        printf("Read message : %s", buffer);
    }

    close(fd);

    return 0;
}

